# -*- coding: utf-8 -*_
# @File     : 第四周作业.py
# @Author   : Tom
# @Date     : 2019/12/21
# @Desc     :

"""
作业要求如下：
1、编写：一个Python函数，用于计算一个数字(非负整数)的阶乘。函数接受数字作为参数
2 、编写一个Python函数，该函数将一个数字作为参数，并检查该数字是否为素数(返回True or False)
3 、编写一个Python函数，检查传递的字符串是否回文。
"""

from functools import reduce


# 计算阶乘
def new_factorial(num:int):
    if num <= 0:
        return -1
    return reduce(lambda x, y: x * y, range(1, num+1))


# 判断是否是素数
def is_prime(num:int):
    if num <= 1:
        return False
    for i in range(2, num):
        if num % i == 0:
            return False
    else:
        return True


# 判断字符串是否是回文
def is_palindrmic(cha:str):
    reverse_cha = cha[-1::-1]
    if reverse_cha == cha:
        return True
    else:
        return False


def main():
    print(new_factorial(5))
    print(is_prime(11))
    print(is_palindrmic('12321'))


if __name__ == '__main__':
    main()
    # 写的很棒，没有啥问题~